(function () {
	"use strict";

	var treeviewMenu = $('.app-menu');

	// Toggle Sidebar
	$('[data-toggle="sidebar"]').click(function(event) {
		event.preventDefault();
		$('.app').toggleClass('sidenav-toggled');
	});

	// Activate sidebar treeview toggle
	$("[data-toggle='treeview']").click(function(event) {
		event.preventDefault();
		if(!$(this).parent().hasClass('is-expanded')) {
			treeviewMenu.find("[data-toggle='treeview']").parent().removeClass('is-expanded');
		}
		$(this).parent().toggleClass('is-expanded');
	});

	// Set initial active toggle
	$("[data-toggle='treeview.'].is-expanded").parent().toggleClass('is-expanded');

	//Activate bootstrip tooltips
	$("[data-toggle='tooltip']").tooltip();

})();

/**
 * magic input 组件触发 ajax 请求失败后复位到上一个状态
 */
function resetMagicInput($checkbox) {
	var checkbox = $checkbox.get(0);
	checkbox.checked = !checkbox.checked;
}

/**
 * 弹出框显示操作失败
 */
function showFailMsg(msg, callback) {
	layer.msg(
			msg
			,{	shift: 6
				, shade: 0.4
				, time: 0
				, offset: "140px"
				, closeBtn: 1
				, shadeClose: true
				, maxWidth: "1000"
			}
			, callback
	);
}
/**
 * 弹出框显示操作成功
 */
function showOkMsg(msg, callback) {
	layer.msg(
		msg
		,{	shift: 0
			, shade: 0.4
			, time: 0
			, offset: "140px"
			, closeBtn: 1
			, shadeClose: true
			, maxWidth: "1000"
		}
		, callback
	);
}
//后台用户锁定
function initMagicInput(prepareAction) {
	var magicInput = $("input.mgc-switch,input.mgc");

	// 锁定开关绑定事件
	magicInput.on("click", function(event) {
		var $this = $(event.target);	// 或者 $(this)
		var state = $this.get(0).checked ? true : false;
		var action = prepareAction($this, state);

		$.ajax(action.url, {
			type: "POST"
			, cache: false
			, dataType: "json"
			, data: action.data
			, error: function(ret) {
				console.log(ret);
				alert(ret.statusText);
				resetMagicInput($this);
			}
			, success: function(ret) {
				
				if (ret.state == "fail") {
					showFailMsg(ret.msg);
					resetMagicInput($this);
				}
				if (ret.state == "ok") {
					showOkMsg(ret.msg);
				}
			}
		});
	});
}
//敏感词保存
function wordsSave(){
	var id=$("#id").val().trim()
	var word=$("#word").val().trim()
	var status=$("input:radio[name='status']:checked").val()
	var word_pinyin=$("#word_pinyin").val().trim()
	if (word==""){ 
		$("#errorInfo").text("请输入敏感词名称！");
		$("#word").focus();
		return false; 
	}
	if (status==""){ 
		$("#errorInfo").text("请输入是否启用！");
		$("#status").focus();
		return false; 
	}
	if (word_pinyin=="") { 
		$("#errorInfo").text("请输入敏感词拼音！");
		$("#word_pinyin").focus();
		return false; 
	}
	if(id==""){
		$.post("/admin/words/wordsAdd",{word:word,status:status,word_pinyin:word_pinyin},function(result){
			if(result.success){
				layer.msg("添加成功！");
				reloadPage();
			}else{
				layer.msg("执行失败，请联系管理员！");
			}
		});
	}else{
		$.post("/admin/words/wordsEdit",{id:id,word:word,status:status,word_pinyin:word_pinyin},function(result){
			if(result.success){
				layer.msg("修改成功！");
				reloadPage();
			}else{
				layer.msg("执行失败，请联系管理员！");
			}
		});
	}
}
//敏感词查找
function wordsEdit(id){
	if(id){
		$.post("/admin/words/findById",{id:id},function(result){
			$("#id").val(result.result.id);
			$("#word").val(result.result.word);
			$("#word_pinyin").val(result.result.word_pinyin);
		});
	}
}

//刷新页面
function reloadPage(){
	window.location.reload();
}

//删除确认框
function confirmDelete(msg, operationUrl) {
	layer.confirm(msg, {
		icon: 0
		, title:''        // 设置为空串时，title消失，并自动切换关闭按钮样式，比较好的体验
		, shade: 0.4
		, offset: "139px"
	}, function(index) {                  // 只有点确定后才会回调该方法
		location.href = operationUrl;
		layer.close(index);                 // 需要调用 layer.close(index) 才能关闭对话框
	});
}


//角色添加和修改
function roleSave(){
	var id=$("#id").val().trim()
	var name=$("#name").val().trim()
	if (name==""){ 
		$("#errorInfo").text("请输入角色名称！");
		$("#name").focus();
		return false; 
	}
	if(id==""){
		$.post("/admin/role/roleAdd",{name:name},function(result){
			if(result.success){
				layer.msg("添加成功！");
				reloadPage();
			}else{
				layer.msg("执行失败，请联系管理员！");
			}
		});
	}else{
		$.post("/admin/role/roleEdit",{id:id,name:name},function(result){
			if(result.success){
				layer.msg("修改成功！");
				reloadPage();
			}else{
				layer.msg("执行失败，请联系管理员！");
			}
		});
	}
}
//角色修改
function roleEdit(id){
	if(id){
		$.post("/admin/role/findById",{id:id},function(result){
			$("#id").val(result.result.id);
			$("#name").val(result.result.name);
		});
	}
}

//菜单修改
function permissionEdit(id){
	if(id){
		$.post("/admin/permission/findById",{id:id},function(result){
			$("#id").val(result.result.id);
			$("#actionKey").val(result.result.actionKey);
			$("#controller").val(result.result.controller);
			$("#remark").val(result.result.remark);
		});
	}
}
//菜单修改
function permissionSave(){
	var id=$("#id").val().trim()
	var remark=$("#remark").val().trim()
	if (remark==""){ 
		$("#errorInfo").text("请输入菜单备注！");
		$("#remark").focus();
		return false; 
	}

	$.post("/admin/permission/permissionEdit",{id:id,remark:remark},function(result){
		if(result.success){
			layer.msg("添加成功！");
			reloadPage();
		}else{
			layer.msg("执行失败，请联系管理员！");
		}
	});
}

//分类添加和修改
function commentdSave(){
	var tid=$("#tid").val().trim()
	var name=$("#name").val().trim()
	var sort=$("#sort").val().trim()
	var remarks=$("#remarks").val().trim()
	
	if (name==""){ 
		$("#errorInfo").text("请输入分类名称！");
		$("#name").focus();
		return false; 
	}
	if (sort==""){ 
		$("#errorInfo").text("请输入分类排序！");
		$("#sort").focus();
		return false; 
	}
	if (!(/(^[1-9]\d*$)/.test(sort))) { 
		$("#errorInfo").text("排列序号必须是正整数！");
		$("#sort").focus();
		return false; 
	}
	if (remarks=="") { 
		$("#errorInfo").text("请输入分类描述！");
		$("#remarks").focus();
		return false; 
	}
	if(tid==""){
		$.post("/admin/comments/commentsAdd",{name:name,sort:sort,remarks:remarks},function(result){
			if(result.success){
				layer.msg("添加成功！");
				reloadPage();
			}else{
				layer.msg("执行失败，请联系管理员！");
			}
		});
	}else{
		$.post("/admin/comments/commentsEdit",{tid:tid,name:name,sort:sort,remarks:remarks},function(result){
			if(result.success){
				layer.msg("修改成功！");
				reloadPage();
			}else{
				layer.msg("执行失败，请联系管理员！");
			}
		});
	}
}
//分类修改
function commentsEdit(tid){
	if(tid){
		$.post("/admin/comments/findById",{tid:tid},function(result){
			$("#tid").val(result.result.tid);
			$("#name").val(result.result.name);
			$("#sort").val(result.result.sort);
			$("#remarks").val(result.result.remarks);
		});
	}
}
